home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / EntertheTroy.dxr / 00002_Graphics Handlers.ls < prev    next >
Encoding:
Text File  |  2002-01-31  |  5.6 KB  |  155 lines

  1. global g
  2.  
  3. on initializeScreen
  4.   global terrainSO, screenDimensions, screenTileSize
  5.   maxX = screenDimensions[1]
  6.   maxY = screenDimensions[2]
  7.   wTile = 0
  8.   repeat with whichY = 1 to maxY
  9.     repeat with whichX = 1 to maxX
  10.       wSprite = terrainSO + wTile
  11.       puppetSprite(wSprite, 1)
  12.       set the member of sprite wSprite to "Iron Block"
  13.       set the loc of sprite wSprite to point((whichX - 1) * screenTileSize, (whichY - 1) * screenTileSize)
  14.       wTile = wTile + 1
  15.     end repeat
  16.   end repeat
  17. end
  18.  
  19. on repositionTerrain
  20.   global terrainSO, screenDimensions, screenTileSize, terrainRef, terrainData_Type, animateTilesFlag, playerViewpoint, animNumber
  21.   viewOff = point(playerViewpoint[1] mod screenTileSize, playerViewpoint[2] mod screenTileSize)
  22.   tilePointSet = playerViewpoint / screenTileSize
  23.   maxX = screenDimensions[1]
  24.   maxY = screenDimensions[2]
  25.   wTile = 0
  26.   repeat with whichY = 1 to maxY
  27.     repeat with whichX = 1 to maxX
  28.       wSprite = terrainSO + wTile
  29.       set the loc of sprite wSprite to point((whichX - 1) * screenTileSize, (whichY - 1) * screenTileSize) - viewOff + (screenTileSize / 2)
  30.       bType = terrainData_Type[whichY + tilePointSet[2]][whichX + tilePointSet[1]]
  31.       blockString = terrainRef[bType]
  32.       wSprite = terrainSO + wTile
  33.       if count(blockString[1]) = 1 then
  34.       else
  35.         if count(blockString[1]) = 1 then
  36.           set the member of sprite wSprite to blockString[1][1]
  37.         else
  38.           if blockString[4] = 1 then
  39.             frameNum = (animNumber / 3 mod count(blockString[1])) + 1
  40.             set the member of sprite wSprite to blockString[1][frameNum]
  41.           else
  42.             frameNum = (animNumber mod count(blockString[1])) + 1
  43.             set the member of sprite wSprite to blockString[1][frameNum]
  44.           end if
  45.         end if
  46.       end if
  47.       wTile = wTile + 1
  48.     end repeat
  49.   end repeat
  50. end
  51.  
  52. on checkSolidpoint pointLoc
  53.   global terrainData_Type, screenTileSize, playerViewpoint, terrainRef
  54.   tilePointSet = (pointLoc / screenTileSize) + 1
  55.   if (tilePointSet[2] >= 1) and (tilePointSet[2] <= count(terrainData_Type)) and (tilePointSet[1] >= 1) and (tilePointSet[1] <= count(terrainData_Type[1])) then
  56.     bType = terrainData_Type[tilePointSet[2]][tilePointSet[1]]
  57.   else
  58.     bType = 2
  59.   end if
  60.   return [terrainRef[bType][2], terrainRef[bType][5]]
  61. end
  62.  
  63. on punchBlock punchPoint
  64.   global terrainData_Type, screenTileSize, playerViewpoint, locksOpened, updateTextFields, terrainRef, playerInventory
  65.   tilePointSet = (punchPoint / screenTileSize) + 1
  66.   if (tilePointSet[2] >= 1) and (tilePointSet[2] <= count(terrainData_Type)) and (tilePointSet[1] >= 1) and (tilePointSet[1] <= count(terrainData_Type[1])) then
  67.     bType = terrainData_Type[tilePointSet[2]][tilePointSet[1]]
  68.   else
  69.     bType = 1
  70.   end if
  71.   if (playerInventory[2] > 0) and (terrainRef[bType][5] = 5) then
  72.     openLockNOW = 1
  73.   else
  74.     openLockNOW = 0
  75.   end if
  76.   tType = terrainRef[bType][5]
  77.   if (tType = 1) or (tType = 6) or (tType = 7) or (tType = 8) or (tType = 9) or (openLockNOW = 1) then
  78.     playSound("Block Smashed SFX", 7)
  79.     terrainData_Type[tilePointSet[2]][tilePointSet[1]] = 1
  80.     rpoint = (tilePointSet * 50) - 25
  81.     addparticle(rpoint, 0, 1)
  82.     killedBlock = 0
  83.     case terrainRef[bType][5] of
  84.       1:
  85.       5:
  86.         playerInventory[2] = playerInventory[2] - 1
  87.         if updateTextFields = 1 then
  88.           member("Key Display").text = string(playerInventory[2])
  89.         end if
  90.         locksOpened = locksOpened + 1
  91.       6:
  92.         repeat with wCoin = 1 to 1
  93.           addPickup(1, 1, rpoint, point(random(7) - 4, -6 - random(12)))
  94.         end repeat
  95.       7:
  96.         repeat with wCoin = 1 to 1
  97.           addPickup(1, 2, rpoint, point(random(7) - 4, -6 - random(12)))
  98.         end repeat
  99.       8:
  100.         addPickup(1, 2, rpoint + point(15, 0), point(random(7) - 4, -6 - random(12)))
  101.         addPickup(1, 2, rpoint + point(-15, 0), point(random(7) - 4, -6 - random(12)))
  102.         addPickup(1, 2, rpoint + point(0, 0), point(random(7) - 4, -6 - random(12)))
  103.       9:
  104.         repeat with wCoin = 1 to 1
  105.           addPickup(1, 3, rpoint, point(0, 0))
  106.         end repeat
  107.     end case
  108.     redrawTerrainPics()
  109.     addScore(5)
  110.   end if
  111. end
  112.  
  113. on redrawTerrainPics
  114.   global terrainSO, screenDimensions, screenTileSize, terrainData_Type, playerViewpoint, tilePointSet, animNumber, terrainRef
  115.   tilePointSet = playerViewpoint / screenTileSize
  116.   maxX = screenDimensions[1]
  117.   maxY = screenDimensions[2]
  118.   wTile = 0
  119.   repeat with whichY = 1 to maxY
  120.     repeat with whichX = 1 to maxX
  121.       wSprite = terrainSO + wTile
  122.       bType = terrainData_Type[whichY + tilePointSet[2]][whichX + tilePointSet[1]]
  123.       blockString = terrainRef[bType]
  124.       if count(blockString[1]) = 1 then
  125.         set the member of sprite wSprite to blockString[1][1]
  126.       else
  127.         if blockString[4] = 1 then
  128.           frameNum = (animNumber / 50 mod count(blockString[1])) + 1
  129.           set the member of sprite wSprite to blockString[1][frameNum]
  130.         else
  131.           frameNum = (animNumber mod count(blockString[1])) + 1
  132.           set the member of sprite wSprite to blockString[1][frameNum]
  133.         end if
  134.       end if
  135.       case blockString[3] of
  136.         0:
  137.           sprite(wSprite).visible = 0
  138.         1:
  139.           sprite(wSprite).locZ = 199
  140.           set the ink of sprite wSprite to 36
  141.           sprite(wSprite).visible = 1
  142.         2:
  143.           sprite(wSprite).locZ = 201
  144.           set the ink of sprite wSprite to 36
  145.           sprite(wSprite).visible = 1
  146.         3:
  147.           sprite(wSprite).locZ = 201
  148.           set the ink of sprite wSprite to 33
  149.           sprite(wSprite).visible = 1
  150.       end case
  151.       wTile = wTile + 1
  152.     end repeat
  153.   end repeat
  154. end
  155.